// compile:
// run:
#include <iostream>

using namespace std;

class Base {
 public:
  virtual void f1() = 0;
  virtual void f2() {}
  void f3() { cout << "Base::df3" << endl; }

 private:
  int x;
};
class Derived : public Base {
 public:
  void f1() {}
  void f4() {}
  void f3() { cout << "Derived::f3" << endl; }
};
void Test1() {
  Derived d;
  d.f3();
}
void Test2() {}
int main() {
  Test1();
  Test2();
  return 0;
}
